
const express=require('express')
const router=express.Router()

const mongodb=require('../mongodb/index')





//查询数据接口 
router.get('/index',(req,res)=>{
    console.log('跟路径请求')
/**
 *  desc    查询数据接口 
 *  req    url     '/index'
 *  params   {}
 *  method:  'get'
 *  res     json格式的数据     sever（服务端 后端）->  from-> mysql(mongodb)  
 *  to -> client(客户端 前端)
 * 
 * 
 */

mongodb.find({}).then(result=>{
    //获取到数据库的数据 发送到前端 
    res.send(result)
})




    // res.send({name:'/index'})
})


//删除数据接口


/**
 *  desc :删除接口信息
 *  req      url  '/delete'  
 *  method:  'get'
 *  params  {  id  required 必须要传}
 *  res      {status   msg}
 * 
 * 
 * 
 */
router.get('/delete',(req,res)=>{
    //   let  query=req.query;
    // console.log(query)   //{ id: '1000' }

      let {id}=req.query
    
    //   let myid='5fa9eaab2e917e189d8e01dc'
   mongodb.deleteOne({_id:id}).then(result=>{
       console.log(result)
       if(result.ok==1) { //删除1条数据成功
           res.send({
               status:200,
               msg:'删除成功'
           })
       }
   }).catch(err=>{
       res.send({
           status:500,
           msg:'删除失败',
           message:err.message
       })
   })   
})


//增加数据接口 

/**
 *    desc  添加图书信息接口 
 *    req  url  '/addBooks'
 *    method    post
 *    params    {name,  author   category  desc }      id 自增 不需要传
 *    res      success {  status:200  msg:'添加图书成功'  }  error { status:500, err:'添加失败'}
 * 
 * 
 * 
 */

router.post('/addBooks',(req,res)=>{
    let {name,author,category ,desc}=req.body
    // let   booksData= new mongodb(req.body)
    // console.log(name,author,category,desc)
    // console.log(req.body)
    mongodb.create({name,author,category,desc}).then(result=>{
        res.send({
            status:200,
            msg:'添加图书成功'
        })
    //如果能够走 then 这个函数 那么表示添加成功
    }).catch(err=>{

        //如果走了catch 这个函数就表示失败 
        res.send({
            status:500,
            msg:'添加图书失败',
            message:err.message
        })
    })
      
})








//修改数据接口 
//1 查询到需要修改的具体某1条数据接口



/**
 *    desc  查询单条图书信息接口 
 *    req  url  '/query'
 *    method    get
 *    params    {id}      
 *    res      success {  status:200  msg:'查询成功'  }  error { status:404, err:'查询失败'}
 * 
 * 
 * 
 */


//查询单条数据 
router.get('/query',(req,res)=>{
    let {id}=req.query
    console.log(id)
    mongodb.findById({_id:id})
    .then(result=>{
        console.log(result)
        res.send({
            status:200,
            msg:'查询成功',
            data:result

        })

    })
    .catch(err=>{
        console.log(err)
      res.send({
          status:404,
          msg:'查询当前数据失败 找不到这条数据',
          message:err.message
      })
    })
})




//2 修改对应的数据接口


/**
 *    desc  更改(修改)单条图书信息接口 
 *    req  url  '/update'
 *    method    post
 *    params    {id,name,author,category,desc}      
 *    res      success {  status:200  msg:'修改数据成功'  }  error { status:500, err:'修改数据失败'}
 * 
 * 
 * 
 */



router.post('/update',(req,res)=>{
    let {id,name,author,category,desc}=req.body
   mongodb.updateOne({_id:id},{name,author,category,desc})
   .then(result=>{
       res.send({
           status:200,
           msg:'修改数据成功',

       })
   })
   .catch(err=>{
       res.send({
           status:500,
           msg:'修改数据失败',
           message:err.message
       })
   })
})


module.exports=router